<HTML>
<HEAD>
<META NAME="GENERATOR" Content="SOURCEDOC.EXE">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>FSOUND_Sample_Lock</TITLE>
<STYLE>
#flush {margin-left: -10p; margin-right: -0p}
#buttonbar {color: white}
</STYLE>
</HEAD>
<BODY TOPMARGIN=0 BGPROPERTIES="FIXED" BGCOLOR="white">
<FONT FACE="ARIAL">
<SPAN ID="flush">
<A NAME="SEE ALSO">
<TABLE WIDTH="100%" COLS=2 BORDER=0 BGCOLOR="#000000">
<TR ALIGN=RIGHT>
<TD ALIGN=LEFT>
<IMG SRC="banner03.gif" WIDTH="88" HEIGHT="31"  BORDER=0>
</TD>
<TD ALIGN=RIGHT VALIGN=TOP>
<FONT FACE="ARIAL" SIZE="2">
<A ID=buttonbar HREF="FSOUND_Sample_Load.html">
<IMG SRC="u_prev.gif" WIDTH="71" HEIGHT="16"  BORDER=0 ALT="Previous Topic">
</A>
<A ID=buttonbar HREF="FSOUND.html">
<IMG SRC="u_index.gif" WIDTH="47" HEIGHT="16"  BORDER=0 ALT="Index">
</A>
<A ID=buttonbar HREF="FSOUND_Sample_SetDefaults.html">
<IMG SRC="u_next.gif" WIDTH="48" HEIGHT="16"  BORDER=0 ALT="Next Topic">
</A>
</FONT></TD><TD WIDTH=15></TD>
</TR>
</TABLE>
</A>
</SPAN>
<A HREF="FSOUND.html#Functions"><H5>[API function]</A></H5>
<H2><A NAME="FSOUND_Sample_Lock">FSOUND_Sample_Lock</A></H2>
Returns a pointer to the beginning of the sample data for a sample.<BR>
Data written to these pointers must be signed.<BR>
<P>
<B>signed char F_API </B><B> </B><B>FSOUND_Sample_Lock</B><B>(</B><BR>
<B>FSOUND_SAMPLE *</B><I>sptr</I><B>,</B><BR>
<B>int </B><B> </B><I>offset</I><B>,</B><BR>
<B>int </B><B> </B><I>length</I><B>,</B><BR>
<B>void **</B><I>ptr1</I><B>,</B><BR>
<B>void **</B><I>ptr2</I><B>,</B><BR>
<B>unsigned int *</B><I>len1</I><B>,</B><BR>
<B>unsigned int *</B><I>len2</I><BR>
<B>);</B><BR>
<H3>Parameters</H3>
<TABLE>
<TR VALIGN=top><TD><I>sptr</I></TD>
<TD>Pointer to the sample definition.<BR>
</TD><TR VALIGN=top><TD><I>offset</I></TD>
<TD>Offset in BYTES to the position you want to lock in the sample buffer.<BR>
</TD><TR VALIGN=top><TD><I>length</I></TD>
<TD>Number of BYTES you want to lock in the sample buffer.<BR>
</TD><TR VALIGN=top><TD><I>ptr1</I></TD>
<TD>Address of a pointer that will point to the first part of the locked data.<BR>
</TD><TR VALIGN=top><TD><I>ptr2</I></TD>
<TD>Address of a pointer that will point to the second part of the locked data.<BR>
This will be NULL if the data locked hasnt wrapped at the end of the buffer.<BR>
</TD><TR VALIGN=top><TD><I>len1</I></TD>
<TD>Length of data in BYTES that was locked for ptr1<BR>
</TD><TR VALIGN=top><TD><I>len2</I></TD>
<TD>Length of data in BYTES that was locked for ptr2.  <BR>
This will be 0 if the data locked hasnt wrapped at the end of the buffer.<BR>
</TD></TABLE>
<H3>Return Value</H3>
On success, TRUE is returned.<BR>
On failure, FALSE is returned.<BR>
<H3>Remarks</H3>
You must always unlock the data again after you have finished with it, using FSOUND_Sample_Unlock.<BR>
For PCM based samples, data must be signed 8 or 16bit.  For compressed samples such as those created with FSOUND_IMAADPCM, FSOUND_VAG, FSOUND_GCADPCM, the data must be in its original compressed format.<BR>
On PlayStation 2, with FSOUND_HW2D or FSOUND_HW3D based samples, this function does not return a readable or writable buffer, it returns the SPU2 address of the sample.  To send data to it you must call FSOUND_SendData.<BR>
On GameCube, with FSOUND_HW2D or FSOUND_HW3D based samples, this function will not return the data contained within the sample.  It is for upload purposes only.<BR>
___________________<BR>
Supported on the following platforms : Win32, WinCE, Linux, Macintosh, XBox, PlayStation 2, GameCube<BR>
<H3>See Also</H3>
<A HREF="FSOUND_Sample_Alloc.html">FSOUND_Sample_Alloc</A>
, 
<A HREF="FSOUND_Sample_Unlock.html">FSOUND_Sample_Unlock</A>
, 
<A HREF="FSOUND_Sample_Upload.html">FSOUND_Sample_Upload</A>
, 
<A HREF="FSOUND_SendData.html">FSOUND_SendData</A>
<HR><BR><FONT SIZE="-2">This document copyright &copy;Firelight Technologies, Pty, Ltd, 1999-2002. All rights reserved.</FONT><BR>
<FONT SIZE="-2">Generated Thu Dec 15 17:31:32 2005
 by SourceDoc v0.10, the automated source code documenter.</FONT><BR>
</BODY>
</HTML>
